package com.ruoyi.yljf.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.yljf.domain.*;
import com.ruoyi.yljf.domain.dto.NoticeDTO;
import com.ruoyi.yljf.domain.dto.NoticeDTO2;
import com.ruoyi.yljf.domain.vo.*;

import javax.servlet.http.HttpServletRequest;

/**
 * 笔记Service接口
 * 
 * @author metaee
 * @date 2025-01-04
 */
public interface INoticeService extends IService<Notice> {
    /**
     * 查询笔记列表
     * 
     * @param notice 笔记
     * @return 笔记集合
     */
    public List<Notice> selectNoticeList(Notice notice);

    /**
     * 查询课程笔记列表
     * @param contentId
     * @param contentPos
     * @param orderBy
     * @return
     */
    List<CourseNotice>  getNoticeList( Long contentId,
                                  Long contentPos,
                                  String orderBy);

    List  getNoticeList( Long curId,
                         String noticeType,
                         String orderBy );

    /**
     * 根据 id 查询笔记
     * @param id
     * @return
     */
    NoticeDetailVO getById(Long id, String noticeType, HttpServletRequest req);

    /**
     * 记笔记
     * @param noticeDTO
     * @return
     */
    Integer addNotice(NoticeDTO noticeDTO);

    List<CourseNotice> getCourseNotice();

    List<DrugNotice> getDrugNotice();

    List<MedicalNotice> getMedicalNotice();

    List<JingfangNotice> getJingfangNotice();

    Integer addNoticeV2(NoticeDTO2 noticeDTO);

    Integer pointLike(Long noticeId, Long userId, String noticeType);

    Integer saveNotice(Long id);

    Integer saveNoticeV2(Long id);

    boolean isLiked(String noticeType,Long noticeId, Long userId);
}
